#include <iostream>
#include <algorithm>
using namespace std;

typedef struct Context_s{
	int k;
	int h[25];
	int m[25];
}Context;

Context ctx;

void read_data(Context* ctx)
{
	cin >> ctx->k;
	for(int i=0;i<ctx->k;++i){
		cin>>ctx->h[ctx->k - i - 1];
		ctx->m[i] = 1;
	}

}

void solve(Context* ctx)
{
	int most=1;
	for(int i=1;i<ctx->k;++i)
	{
		for(int j=0;j<i;++j)
		{
			if (ctx->h[j]<= ctx->h[i])
				ctx->m[i] = max(ctx->m[i], ctx->m[j]+1);
		}
		if (most < ctx->m[i] )
			most = ctx->m[i];
	}
	cout << most << endl;
}

int main()
{
	freopen("week06_t01.txt","r",stdin);
	read_data(&ctx);
	solve(&ctx);
	return 0;
}